package com.xinqi.modules.user.users.third.manager;

import com.xinqi.modules.user.third.dto.rsp.UserThirdCheckBackResultDTO;
import com.xinqi.common.mybatis.data.service.BaseService;
import com.xinqi.modules.user.users.third.domain.UserThirdBindEntity;

import java.util.List;

/**
 * 第三方用户绑定表管理层
 *
 * @author: yyzhen
 * @date: 2023/07/17
 */
public interface UserThirdBindManager extends BaseService<UserThirdBindEntity> {

    UserThirdCheckBackResultDTO thirdLoginCheck(String type, String identification);

    /**
     * 根据用户ID获取第三方绑定信息
     *
     * @param userId
     * @return
     */
    List<UserThirdBindEntity> findByUserId(Long userId);

    /**
     * 根据绑定类型和用户ID查询第三方绑定
     *
     * @param type
     * @param userId
     * @return
     */
    UserThirdBindEntity findByTypeAndUserId(String type, Long userId);

    /**
     * 通过用户ID删除
     *
     * @param userId
     */
    void deleteByUserId(Long userId);
}
